#include <stdio.h>
#include <sys/socket.h>
#include <netinet/in.h>
#include <arpa/inet.h>


int main(int argc,char** argv){
	int ret;
	if(argc<3){
		printf("usage: <cmd> ip port\n");
		exit(1);
	}	
	struct sockaddr_in servaddr;	
	bzero(&servaddr,sizeof(struct sockaddr_in));
	servaddr.sin_port=htons((uint16_t)atoi(argv[2]));
	servaddr.sin_addr.s_addr=inet_addr(argv[1]);
#ifndef LINUX
	servaddr.sin_len=sizeof(struct sockaddr_in);
#endif
	servaddr.sin_family=AF_INET;
	int sockfd;

	sockfd=socket(AF_INET,SOCK_STREAM,0);
	if(sockfd<0){
		perror("create socket error");
		exit(1);
	}

	ret=bind(sockfd,(struct sockaddr*)&servaddr,sizeof(struct sockaddr_in));
	if(ret!=0){
		perror("bind error");
		exit(1);
	}
	ret=listen(sockfd,5);
	if(ret!=0){
		perror("listen error");
		exit(1);
	}

	int clifd;
	struct sockaddr_in cliaddr;
	int len=sizeof(struct sockaddr_in);
	while(clifd=accept(sockfd,(struct sockaddr*)&cliaddr,&len)){
		printf("accept client\n");
	}
	close(sockfd);
}	
